package com.glut.campusrepair.mapper;

import com.glut.campusrepair.dto.FailureRepairdto;
import com.glut.campusrepair.entity.SignIn;
import com.glut.campusrepair.service.ISignInService;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import com.glut.campusrepair.entity.FailureRepair;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.glut.campusrepair.entity.FailureRepairExample;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

/**
* 故障保修表 Mapper
*
* @author sanminzhi
* @since 2024-07-19 11:23
*/
@Mapper
public interface FailureRepairMapper extends BaseMapper<FailureRepair> {


    /*wsy*/
    /**wsy
     * 根据故障报修ID查询相应报修的故障信息
     * 点击查看详情按钮后的操作
     * */
    FailureRepairdto selectFailureRepairById(Integer failureRepairId);

    /**
     * 根据主键id查询
     *
     * @param failureRepairId
     * @return 记录信息
     */
    FailureRepair selectByPrimaryKey(Integer failureRepairId);

    /**
     * 根据主键删除数据
     *
     * @param failureRepairId
     * @return 数量
     */
    int deleteByPrimaryKey(Integer failureRepairId);

    /**
     * 删除数据
     *
     * @param example 条件
     * @return 删除数量
     */
    int deleteByExample(FailureRepairExample example);

    /**
     * 插入数据库记录（不建议使用）
     *
     * @param record
     */
    int insert(FailureRepair record);

    /**
     * 插入数据库记录（建议使用）
     *
     * @param record 插入数据
     * @return 插入数量
     */
    int insertSelective(FailureRepair record);

    /**
     * 修改数据
     *
     * @param record  更新值
     * @param example 条件
     * @return 更新数量
     */
    int updateByExampleSelective(@Param("record") FailureRepair record, @Param("example") FailureRepairExample example);

    /**
     * 更新记录包含BLOB
     *
     * @param record  更新值
     * @param example 条件
     * @return 更新数量
     */
    int updateByExampleWithBLOBs(@Param("record") FailureRepair record, @Param("example") FailureRepairExample example);

    /**
     * 修改数据
     *
     * @param record  更新值
     * @param example 条件
     * @return 更新数量
     */
    int updateByExample(@Param("record") FailureRepair record, @Param("example") FailureRepairExample example);

    /**
     * 修改数据(推荐使用)
     *
     * @param record 更新值
     * @return 更新数量
     */
    int updateByPrimaryKeySelective(FailureRepair record);

    /**
     * 根据主键更新数据
     *
     * @param record 更新值
     * @return 更新数量
     */
    int updateByPrimaryKeyWithBLOBs(FailureRepair record);

    /**
     * 根据主键更新数据
     *
     * @param record 更新值
     * @return 更新数量
     */
    int updateByPrimaryKey(FailureRepair record);

    /**
     * 打卡信息表 前端控制器
     *
     * @author QJC
     * @since 2024-07-25 21:27
     */
    @RestController
    @RequestMapping
    class SignInController {
        @Autowired
        private ISignInService isignInService;

        @PostMapping("/sign")
        public String signIn(@RequestBody SignIn signIn) {
            isignInService.save(signIn);
            return "打卡成功";
        }
    }
}
